80 OPEN1,4 90 SYS9*4096 100 *=49152 110 ;:;:;TRACE / SINGLE STEP FUER C64 9.84 120 ;:; +DISASSEMBLER / EDITOR 130 ;:; JUERGEN (null)EBEL:;:; 8 MUENCHEN 82:;:; GROSCHENWEG 19:;:; 140 ;:; TEL. 089 / 432709:;:; 150 .OPT OO,P 160 IRQVEK =$314:STACK =$100:COL =55296;HINTERGRUNDFARBE 170 SCREEN =1024:READY =$A474-1 180 CIA =$DC00:TL =CIA+6;TIMERWERTE:TH =CIA+7:TAST =$EA87;TASTATURROUT. 190 DDRB =$DD03 200 ICR =CIA+13;INTERR.CONTROLREG.:CRB =CIA+15:TSTART =*+$0500 210 NOP:LDA #0:STA DISON:BEQ (null) 220 LDA #255:STA DISON 230 (null) SEI:LDA #TRACE:STA IRQVEK+1;AUF TRACE 250 LDA #130:STA ICR;TIMER B INTERRUPT ERLAUBT:LDX #255:TXS;STACK INITIAL. 260 LDA #>READY;STACK FUER TRACE:PHA;VORBEREITEN:LDA #TSTART:STA TMP:LDA COD1:ADC COD1:BCC LOO8 1330 INC TMP:LOO8 CLC:ADC COD1:BCC LOO9:INC TMP:LOO9 STA OPP+1;POINTER BELEGEN 1340 LDA TMP:STA OPP+2:LDX #0:OPP LDA $C000,X:JSR PRIZEI:INX 1350 CPX #3:BNE OPP:JSR SPACE 1360 LDA CODEL:CMP #2:BPL CODE2:JMP ENDAS 1370 CODE2 LDX COD1:LDA TADR,X;ADRESS. FESTSTELLEN:TAX 1380 ; '#$','$' OD.'($' AUSGEBEN 1390 CPX #6:BMI LOO10:LDA #"(":JSR PRIZEI 1400 LOO10 CPX #2:BNE LOO11:LDA #"#" 1410 JSR PRIZEI:LOO11 LDA #"$":JSR PRIZEI 1420 CPX #1:BPL LOO12:JSR OFFSET:JMP ENDAS 1430 LOO12 LDA CODEL;OPERANDEN AUSGEBEN:CMP #3:BEQ CODL3 1440 LDA COD2:JSR PRBYTE:JMP LOO13 1450 CODL3 LDA COD3:JSR PRBYTE:LDA COD2:JSR PRBYTE 1460 LOO13 CPX #4:BMI ENDAS 1470 ; ',X',',Y',',X)','),Y' OD. ')' AUSGEBEN 1480 BNE LOO14:LDA #",":JSR PRIZEI 1490 LDA #"X":JSR PRIZEI:JMP ENDAS 1500 LOO14 CPX #5:BNE LOO15 1510 LDA #",":JSR PRIZEI:LDA #"Y":JSR PRIZEI:JMP ENDAS 1520 LOO15 CPX #6:BNE LOO16:LDA #",":JSR PRIZEI 1530 LDA #"X":JSR PRIZEI:LDA #")":JSR PRIZEI:JMP ENDAS 1540 LOO16 LDA #")":JSR PRIZEI 1550 CPX #8:BEQ ENDAS:LDA #",":JSR PRIZEI 1560 LDA #"Y":JSR PRIZEI 1570 ENDAS LDY OLDY;REG. HOLEN:LDX OLDX:RTS;ENDE DISAS 1580 READPC LDY #120:JSR START;DIS.ZEILE EDIT.:JSR REVERSE:LDY #120 1590 ;LIEST BYTES UND SPEICHERT IN RAM 1600 JSR BYT:STA COD1:INY:INY:JSR BYT 1610 STA COD2:INY:INY:JSR BYT:STA COD3 1620 LDA TMP+4:STA PREAD1+1 1630 LDA TMP+3:STA PREAD1+2:LDA COD1:PREAD1 STA $C000 1640 LDY CODEL:CPY #2:BMI EREAD 1650 LDA TMP+4:CLC:ADC #1:STA PREAD2+1 1660 LDA TMP+3:ADC #0:STA PREAD2+2 1670 LDA COD2:PREAD2 STA $C000 1680 CPY #3:BMI EREAD 1690 LDA TMP+4:CLC:ADC #2:STA PREAD3+1 1700 LDA TMP+3:ADC #0:STA PREAD3+2 1710 LDA COD3:PREAD3 STA $C000 1720 EREAD RTS;ALLE BYTES GELESEN. ENDE READPC 1730 TEXT .ASC " PC SP YR XR AC NV-BDIZC 76543210 " 1740 HEX .ASC "0123456789ABCDEF" 1750 TMP .BYT 0,0,0,0,0,0,0;ARBEITSVARIABLEN 1760 TMP1 .BYT 0 1770 OLDY .BYT 0 1780 OLDX .BYT 0 1790 COD1 .BYT 0:COD2 .BYT 0:COD3 .BYT 0 1800 CODEL .BYT 0:DISON .BYT 0 1810 *=TSTART:;TAB. OPCODES (L-BYTE TSTART MUSS 0 SEIN) 1820 .ASC "BRKORA?????????ORAASL???PHPORAASL" 1830 .ASC "??????ORAASL???BPLORA??????" 1840 .ASC "???ORAASL???CLCORA?????????" 1850 .ASC "ORAASL???JSRAND??????BITAND" 1860 .ASC "ROL???PLPANDROL???BITANDROL" 1870 .ASC "???BMIAND?????????ANDROL???" 1880 .ASC "SECAND?????????ANDROL???RTI" 1890 .ASC "EOR?????????EORLSR???PHAEOR" 1900 .ASC "LSR???JMPEORLSR???BVCEOR???" 1910 .ASC "??????EORLSR???CLIEOR??????" 1920 .ASC "???EORLSR???RTSADC?????????" 1930 .ASC "ADCROR???PLAADCROR???JMPADC" 1940 .ASC "ROR???BVSADC?????????ADCROR" 1950 .ASC "???SEIADC?????????ADCROR???" 1960 .ASC "???STA??????STYSTASTX???DEY" 1970 .ASC "???TXA???STYSTASTX???BCCSTA" 1980 .ASC "??????STYSTASTX???TYASTATXS" 1990 .ASC "??????STA??????LDYLDALDX???" 2000 .ASC "LDYLDALDX???TAYLDATAX???LDY" 2010 .ASC "LDALDX???BCSLDA??????LDYLDA" 2020 .ASC "LDX???CLVLDATSX???LDYLDALDX" 2030 .ASC "???CPYCMP??????CPYCMPDEC???" 2040 .ASC "INYCMPDEX???CPYCMPDEC???BNE" 2050 .ASC "CMP?????????CMPDEC???CLDCMP" 2060 .ASC "?????????CMPDEC???CPXSBC???" 2070 .ASC "???CPXSBCINC???INXSBCNOP???" 2080 .ASC "CPXSBCINC???BEQSBC?????????" 2090 .ASC "SBCINC???SEDSBC?????????SBC" 2100 .ASC "INC???" 2110 ;TABELLE ADRESSIERUNG (KEINE STANDARDWERTE NUR FUER DISAS) 2120 TADR .BYT 1,6,1,1,1,3,3,1,1,2,1,1 2130 .BYT 1,3,3,1,0,7,1,1,1,4,4,1,1,5 2140 .BYT 1,1,1,4,4,1,3,6,1,1,3,3,3,1 2150 .BYT 1,2,1,1,3,3,3,1,0,7,1,1,1,4 2160 .BYT 4,1,1,5,1,1,1,4,4,1,1,6,1,1 2170 .BYT 1,3,3,1,1,2,1,1,3,3,3,1,0,7 2180 .BYT 1,1,1,4,4,1,1,5,1,1,1,4,4,1 2190 .BYT 1,6,1,1,1,3,3,1,1,2,1,1,8,3 2200 .BYT 3,1,0,7,1,1,1,4,4,1,1,5,1,1,1 2210 .BYT 4,4,1,1,6,1,1,3,3,3,1,1,1,1 2220 .BYT 1,3,3,3,1,0,7,1,1,4,4,5,1,1 2230 .BYT 5,1,1,1,4,1,1,2,6,2,1,3,3,3 2240 .BYT 1,1,2,1,1,3,3,3,1,0,7,1,1,4 2250 .BYT 4,5,1,1,5,1,1,4,4,5,1,2,6,1 2260 .BYT 1,3,3,3,1,1,2,1,1,3,3,3,1,0 2270 .BYT 7,1,1,1,4,4,1,1,5,1,1,1,4,4 2280 .BYT 1,2,6,1,1,3,3,3,1,1,2,1,1,3 2290 .BYT 3,3,1,0,7,1,1,1,4,4,1,1,5,1 2300 .BYT 1,1,4,4,1 2310 .END 2320 END 2330 INPUTA:PRINTPEEK(A+51456):GOTO2330